//-----------------------------------------------------------------------------
// Bend2D - Physics Engine
// Roberto Bender <beto.bender@gmail.com>
// Description: 
// Date: 12/03/2010
//-----------------------------------------------------------------------------
#ifndef RECTANGLE_H
#define RECTANGLE_H

#include "point.h"
#include "line.h"

namespace bend2d
{
	class Rectangle
	{
	public:
        Rectangle();
        Rectangle(const Point& center, const Angle& angle, double width = 10, double height = 10);

        const Point& GetCenter() const;
        void SetCenter(const Point& point);
        const Angle& GetAngle() const;
        void SetAngle(const Angle& angle);
        
        double GetTop() const;
        double GetLeft() const;
        double GetRight() const;
        double GetBottom() const;
        double GetAbsTop() const;
        double GetAbsLeft() const;
        double GetAbsRight() const;
        double GetAbsBottom() const;        
        double GetWidth() const;
        double GetHeight() const;
        Line GetTopLine() const;
        Line GetRightLine() const;
        Line GetBottomLine() const;
        Line GetLeftLine() const;
        
	private:
        Point m_Center;
        Angle m_Angle;
        double m_Width;
        double m_Height; 
	};
}

#endif
